草庐IT

swift - OptionSetType 和枚举

全部标签

c# - 代码契约(Contract),forall 和自定义可枚举

我正在使用C#4.0和代码契约,并且我有自己的自定义GameRoomCollection:IEnumerable.我想确保没有GameRoomCollection的实例将永远包含null值元素。不过,我似乎无法做到这一点。我没有制定一般规则,而是尝试做一个简单明了的例子。AllGameRooms是GameRoomCollection的实例.privatevoidSetupListeners(GameRoomnewGameRoom){Contract.Requires(newGameRoom!=null);//...}privatevoidSetupListeners(Modelmode

c# - 枚举MSMQ中的所有传出队列,C#

如何使用C#和.NET3.5获取MSMQ中所有传出队列的列表?我找到了thisarticleaboutit但正如您在下面看到的,我没有MicrosoftMessageQueue3.0ObjectLibrary...的COM条目那么我怎样才能得到当前的出局队列列表呢?我认为一定有办法,因为我可以在ComputerManagement中看到它们...我能做什么? 最佳答案 我认为有两个不错的起点:http://msdn.microsoft.com/en-us/library/ms703173%28v=vs.85%29.aspxhttp:

c# - 如何将 int 转换为枚举值?

这个问题在这里已经有了答案:HowdoIcastinttoenuminC#?(32个答案)关闭9年前。这是我的代码,它抛出一个错误,提示Cannotconverttype"int"toCards.Suits和无法将类型“int”转换为Cards.RankprivateCard[]cards;publicDeck(){cards=newCard[52];for(intsuitVal=0;suitVal卡片构造函数是publicreadonlySuitssuit;publicreadonlyRankrank;publicCard(SuitsnewSuit,RanknewRank){suit

c# - 如何获得复杂的枚举值字符串表示

假设我有这个枚举:[Flags]publicenumSomeType{Val1=0,Val2=1,Val3=2,Val4=4,Val5=8,Val6=16,All=Val1|Val2|Val3|Val4|Val5|Val6}和一些变量:SomeTypeeasyType=SomeType.Val1|SomeType.Val2;SomeTypecomplexType=SomeType.All;如果我想遍历第一个枚举的值,我可以简单地做:foreach(stringsineasyType.ToString().Split(',')){...}但是,当我尝试对“complexType”应用相同

c# - 从 XAML 引用嵌套枚举类型

我似乎无法从XAML引用公共(public)嵌套枚举类型。我有课namespaceMyNamespace{publicclassMyClass{publicenumMyEnum{A,B,}}}我尝试像这样在Xaml中引用MyEnum:xmlns:MyNamespace="clr-namespace:MyNamespace;assembly=MyApp"....{x:TypeMyNamespace:MyClass:MyEnum}//DOESN'TWORK但是VS提示它找不到公共(public)类型MyEnum。我还尝试根据thispost的答案之一使用+语法...{x:TypeMyNam

c# - HttpContent header 不一致的枚举

我正在将HttpContent转换为以下dto:publicclassContentDto{publicstringContentType{get;set;}publicstringHeaders{get;set;}publicobjectData{get;set;}publicContentDto(HttpContentcontent){Headers=content.Headers.Flatten();//restofthesetup}}并且正在对它运行一些单元测试:[Fact]publicvoidCanBuild(){varcontent=newStringContent("so

c# - 使用 IReadOnlyCollection<T> 而不是 IEnumerable<T> 作为参数以避免可能的多重枚举

我的问题与thisone有关关于IEnumerable的使用对比IReadOnlyCollection.我也一直使用IEnumerable将集合公开为返回类型和参数,因为它受益于不可变和延迟执行。但是,我越来越担心我的代码中必须枚举参数以避免ReSharper可能给出的多重枚举警告的地方的激增。我理解ReSharper为什么建议这样做,并且我同意它建议的代码(如下)以确保封装(即,不假设调用者)。Foo[]arr=colasFoo[]??col.ToArray();但是,我发现此代码的重复性具有污染性,并且我同意一些消息来源的观点IReadOnlyCollection是一个更好的选择,

c# - 枚举不序列化

我有一个WCF服务。它绑定(bind)到MSMQ,但这不是这里的问题。我可以序列化一个对象,该对象具有基类和在基类中实现的接口(interface),具体类派生自基类-这工作正常。然而,当我在基类中有一个枚举并设置该值时,在它被反序列化/从MSMQ读取之后,该值仍设置为默认值(即不是在代码中手动设置的值)有什么想法吗?我什至将枚举标记为DataContract,并将每个Enum成员标记为EnumMember属性。如何序列化枚举? 最佳答案 试试这个。[Serializable]publicenumEnumToSerialize{[X

c# - 使用泛型实现类型安全的枚举模式

如何在泛型类上实现类型安全的枚举模式?让我们假设它是按照这些思路实现的publicclassKnownSetting{publicreadonlystaticKnownSettingName=newKnownSetting("name","DefaultName",t=>t);publicreadonlystaticKnownSettingSize=newKnownSetting("size","25",t=>Converter.ToInt32);publicStringKey{get;set;}publicTDefaultValue{get;set;}publicFuncConver

c# - 还有另一种测试枚举位域的方法吗?

将枚举与位字段一起使用时:enumReallyBigEnum{FirstChoice=0x01,AnotherOption=0x02}ReallyBigEnumflag=ReallyBigEnum.FirstChoice|ReallyBigEnum.AnotherOption;用于测试位的代码是:if((flag&ReallyBigEnum.AnotherOption)==ReallyBigEnum.AnotherOption){...}这看起来冗长且容易出错,因为需要重复该位正在测试中。如果有某种表达方式就好了:if(flag.IsSet(ReallyBigEnum.AnotherO